{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "import sys \n",
    "from os import getcwd, path\n",
    "sys.path.append(path.dirname(getcwd()))\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sb\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [],
   "source": [
    "from utils import data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "{'dataframe_hash': -2467646966976180658,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.0+3.gda968fb',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.0',\n",
      "                             u'numpy': u'1.11.1',\n",
      "                             u'pandas': u'0.18.1',\n",
      "                             u'pyensembl': u'1.0.3',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.10'}}\n"
     ]
    }
   ],
   "source": [
    "cohort = data.init_cohort(join_with=\"tcr_tumor\",\n",
    "                          exclude_patient_ids=set(),\n",
    "                          only_patients_with_bams=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def clonality(row):\n",
    "    return row[\"Clonality\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def tcell_fraction(row):\n",
    "    return row[\"T-cell fraction\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from utils.paper import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n"
     ]
    }
   ],
   "source": [
    "df = cohort.as_dataframe([clonality, tcell_fraction])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{til_fraction_vs_clonality_benefit}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.text.Text at 0x7fd7bee32e90>,\n",
       " <matplotlib.text.Text at 0x7fd7bee12550>,\n",
       " <matplotlib.text.Text at 0x7fd7bec83890>,\n",
       " <matplotlib.text.Text at 0x7fd7bec83f90>,\n",
       " <matplotlib.text.Text at 0x7fd7bec976d0>,\n",
       " <matplotlib.text.Text at 0x7fd7bec97dd0>,\n",
       " <matplotlib.text.Text at 0x7fd7bec22510>,\n",
       " <matplotlib.text.Text at 0x7fd7bec22c10>,\n",
       " <matplotlib.text.Text at 0x7fd7bec2d350>,\n",
       " <matplotlib.text.Text at 0x7fd7bec2da50>]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7bee2c4d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hyper_figure_label_printer(label=\"til_fraction_vs_clonality_benefit\")\n",
    "results = cohort.plot_correlation(on={\"TIL Clonality\": clonality, \"TIL Proportion\": tcell_fraction}, x_col=\"TIL Clonality\", \n",
    "                          show_stat_func=False,\n",
    "                          plot_kwargs={\"s\": 200,\n",
    "                                            \"xlim\": (0, 0.4),\n",
    "                                            \"ylim\": (0, 0.4),\n",
    "                                            \"c\": [\"green\" if benefit else \"red\" for benefit in df.is_benefit]})\n",
    "results.plot.ax_joint.set_xticklabels(\n",
    "        results.plot.ax_joint.xaxis.get_majorticklabels(), rotation=45)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def add_rescaled_cols(d, col):\n",
    "    import numpy as np\n",
    "    log_col = \"log_%s\" % col\n",
    "    log_col_centered = \"log_%s_centered\" % col\n",
    "    log_col_rescaled = \"log_%s_rescaled\" % col\n",
    "    d[log_col] = np.log1p(d[col])\n",
    "    d[log_col_centered] = d[log_col] - np.mean(d[log_col])\n",
    "    d[log_col_rescaled] = d[log_col_centered] / np.std(d[log_col_centered])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "add_rescaled_cols(df, \"tcell_fraction\")\n",
    "add_rescaled_cols(df, \"clonality\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "Mann-Whitney test: U=97.0, p-value=0.0465677613869 (two-sided)\n",
      "{{{til_fraction_benefit_plot}}}\n",
      "{{{til_fraction_benefit_benefit:0.21 (range 0.049-0.33)}}}\n",
      "{{{til_fraction_benefit_no_benefit:0.069 (range 0.0098-0.24)}}}\n",
      "{{{til_fraction_benefit_mw:n=24, Mann-Whitney p=0.047}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7bed58210>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mann_whitney_hyper_label_printer(cohort.plot_benefit(on={\"TIL Proportion\": tcell_fraction}), label=\"til_fraction_benefit\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "Mann-Whitney test: U=91.0, p-value=0.104634955402 (two-sided)\n",
      "{{{til_clonality_benefit_plot}}}\n",
      "{{{til_clonality_benefit_benefit:0.12 (range 0.047-0.34)}}}\n",
      "{{{til_clonality_benefit_no_benefit:0.092 (range 0.033-0.22)}}}\n",
      "{{{til_clonality_benefit_mw:n=24, Mann-Whitney p=0.10}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAGHCAYAAABxrm/RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVOX+B/DPYQeBEQRFxBUkcsMFNM0yAbE0zbSrN70C\nubQg5nJNr3XVayrm0jWRvKlpgTdcS7PM5SciZVaKkWii3sHtAqKCsgnDMpzfH8Rcx2FgODILw+f9\nevF6cZ45y3dw5MNzznOeI4iiKIKIiEgCC2MXQERETRdDhIiIJGOIEBGRZAwRIiKSjCFCRESSWRm7\nAENSKBS4cOEC3N3dYWlpaexyiIhMnlKpxN27d9GjRw/Y2dlpvN6sQuTChQuYNGmSscsgImpyvvji\nCwQEBGi0N6sQcXd3B1D9w/Dw8DByNUREpi8nJweTJk1S/f58VLMKkZpTWB4eHvDy8jJyNURETYe2\nSwC8sE5ERJIxRIiISDKGCBERSWaUayI5OTmIjo7GqVOnIIoiBg0ahHfffRdt27atd1s/Pz+NNkEQ\nsG/fvlpfIyIi/TF4iCgUCoSFhcHW1harV68GAKxbtw7h4eE4cOBAreOQHzVu3DhMmDBBra1z5856\nqZeIiLQzeIjs2rULWVlZOHz4MNq3bw8A8PX1xfDhw7Fz505ERETUu4/WrVujV69eeq6UiIjqY/Br\nIklJSfD391cFCAB4eXmhb9++SExMNHQ5RET0GAweInK5HF27dtVo9/HxQUZGhk772LFjB3r27Ine\nvXsjPDwcKSkpjV0mERHpwOCns/Lz8yGTyTTaZTIZCgsL693+pZdewnPPPYfWrVsjOzsbW7duRURE\nBD777DMEBgbqo2QiItKiyd2xvmrVKtX3/fr1Q1BQEEaNGoX169fj3//+txErIyJqfgx+Oksmk6Gg\noECjvaCgAM7Ozg3eX4sWLTBkyBCcP3++McojIqIGMHiI+Pj4QC6Xa7TL5XJ4e3sbuhwig/nHP/4B\nCwsLyOVyvPjii3ByckKnTp2wbNky1ToPHjzAzJkz0bFjR9jZ2aFNmzYIDQ3FlStXjFg5kXYGD5Gg\noCCcO3cOmZmZqrbMzEykpqYiODi4wfsrLi7GiRMnOOSXTJ4gCACAsWPHIjg4GF9//TVefvllLFmy\nBHFxcQCA2bNnY+/evVi6dCmOHTuGzZs3o3fv3sjPzzdm6URaGfyayPjx45GQkIDIyEjMmjULABAT\nEwNPT0+1Gwizs7MREhKCqKgoREZGAgC2bduGGzduYMCAAXBzc0NWVha2bduG3NxcfPjhh4Z+K0QN\nJggC5s2bh7CwMADVf1QlJiZix44dCA8Px88//4xJkyap3S/10ksvGalaovoZPETs7e0RFxeH6Oho\nLFiwQDXtycKFC2Fvb69aTxRF1VeNzp0749ixYzh69CiKiorg6OiIfv36YeXKlejRo4eh3wqRJCNG\njFBb7tGjB3777TcAQGBgID7//HO0atUKoaGh6NOnDywsOMUdmS6jjM7y8PBATExMneu0a9cO6enp\nam1Dhw7F0KFD9Vkakd65urqqLdva2kKhUAAANmzYgLZt2+Kzzz7D3//+d7i4uCAsLAwrVqxQ+yOL\nyFTwTxwiE9KiRQusWLECV65cwfXr1/Hee+8hNjYW77//vrFLI6oVQ4TIRLVv3x5z5sxBz549ceHC\nBWOXQ1SrJnezIZE5GzRoEEaPHo2ePXvC0dERJ06cQFpaGl577TVjl0ZUK4YIkQHVDPPV1v7ss89i\nz549WLVqFSorK9GlSxd89NFHmDFjhiHLJNKZID48/MnMZWZmIjg4GImJifDy8jJ2OUREJq++35u8\nJkJERJLxdBZJsnnzZiQkJBi7DCKtJk6ciNdff93YZZg99kRIkoSEBNUNckSm5rfffuMfOQbCnghJ\n1rt3b5w4ccLYZRBpeO6554xdQrPBnggREUnGECEiIskYIkREJBlDhIiIJGOIEBGRZAwRIiKSjCFC\nRESSMUSIiEgyhggREUnGECEiIskYIkREJBlDhIiIJGOIEBGRZAwRIiKSjCFCRESSMUSIiEgyhggR\nEUnGECEiIskYIkREJBlDhIiIJGOIEBGRZAwRIiKSjCFCRESSMUSIiEgyK2MXQE3TlClTjF0CkVb8\nfBoOQ4QkCQsLM3YJRFrx82k4PJ1FRESSMUSIiEgyhggREUnGECEiIskYIkREJBlDhIiIJGOIEBGR\nZAwRIiKSjCFCRESSMUSIiEgyhggREUnGECEiIskYIkREJBlDhIiIJGOIEBGRZAwRIiKSzCghkpOT\ng7fffhsBAQHo168fZs6ciVu3bjV4P5s3b4afnx8mTZqkhyqJiKg+Bg8RhUKBsLAwXLt2DatXr8aa\nNWtw/fp1hIeHQ6FQ6Lyf//73v/jXv/4FNzc3PVZLRER1MfjjcXft2oWsrCwcPnwY7du3BwD4+vpi\n+PDh2LlzJyIiInTazz/+8Q+MHj0aV69eRVVVlR4rJiIibQzeE0lKSoK/v78qQADAy8sLffv2RWJi\nok77+Oabb5Ceno6//vWv+iqTiIh0YPAQkcvl6Nq1q0a7j48PMjIy6t2+sLAQH3zwAebPnw9nZ2d9\nlEhERDoyeIjk5+dDJpNptMtkMhQWFta7/apVq9C5c2eMGTNGH+UREVEDGPyayONISUnBgQMHsH//\nfmOXQkREMEKIyGQyFBQUaLQXFBTUe3pqyZIleOWVV9C6dWsUFRVBFEUolUpUVVWhqKgItra2sLGx\n0VfpRET0CIOHiI+PD+RyuUa7XC6Ht7d3ndtmZGTg6tWr2LFjh8Zr/fv3x8KFCxEWFtZotRIRUd0M\nHiJBQUFYs2YNMjMz4eXlBQDIzMxEamoq5s2bV+e227dv12hbsWIFqqqqsHjxYrURX0REpH8GD5Hx\n48cjISEBkZGRmDVrFgAgJiYGnp6emDBhgmq97OxshISEICoqCpGRkQCAwMBAjf05OTmhqqoKAQEB\nhnkDRESkYvDRWfb29oiLi0OnTp2wYMECzJ8/Hx06dMDnn38Oe3t71XqiKKq+6iMIgj5LJiIiLYwy\nOsvDwwMxMTF1rtOuXTukp6fXu6/aTnEREZFhcBZfIiKSjCFCRESSMUSIiEgyhggREUnGECEiIskY\nIkREJBlDhIiIJGOIEBGRZAwRIiKSjCFCRESSMUSIiEgyhggREUnGECEiIskYIkREJBlDhIiIJGOI\nEBGRZAwRIiKSjCFCRESSMUSIiEgyhggREUnGECEiIskYIkREJBlDhIiIJGOIEBGRZAwRIiKSjCFC\nRESSMUSIiEgyhggREUnGECEiIsl0CpHbt2/ruw4iImqCdAqR4OBgvPnmmzh+/Diqqqr0XRMRUaNT\nKpX4/fffkZ2dbexSzIqVLitVVlYiOTkZycnJcHNzw9ixY/HKK6+gffv2+q6PiOix3b17F++99x5y\ncnIAAGPGjMGUKVOMXJV50KknEhoaChsbG4iiiLt372Lz5s0YPnw4wsPDcfDgQZSXl+u7TiIiyb76\n6itVgADA/v372SNpJDr1RGJiYvDgwQMcO3YMBw8exKlTp1BZWYnTp0/j9OnTcHZ2xtixY/Haa6+h\ndevW+q6ZiKhB8vLyNNru3bsHT09PI1RjXnQendWiRQu89NJL2Lx5MxITExEYGAhRFAEABQUF+Pzz\nzzFixAicPXtWb8USEUkxZMgQteU2bdrAz8/PSNWYF516IjWuX7+OnTt3Yt++fSgsLAQAiKIINzc3\nlJWVoaioCCtXrsTevXv1UiwRkRRPP/00FixYgOTkZLi6umLcuHGwsmrQrz/SQqef4qFDh7Bz506c\nPn0aAFQ9kG7duiEsLAwjR45EQUEBhg0bhitXruivWiIiiZ5++mk8/fTTxi7D7OgUInPmzIEgCBBF\nERYWFggODkZ4eDgCAwNV67i5uaF169a4efOm3oolIiLTonN/zsHBAePGjcPkyZO1Du1ds2YNFApF\noxVHRESmTacQWbhwIV555RW0aNGizvV69erVKEUREVHToNPorGPHjiEyMrLW12JjY/Hxxx83alFE\nRNQ06NQTOXPmDARBqPW12NhYWFhYYMaMGY1aGBERmb7HmsX34WG+RETU/Gjtiezbtw/79u1TawsL\nC1Nbrpk2wNnZWQ+lERGRqdMaIllZWTh9+rTqNJYoijhz5ozaOjU9kD59+uixRCIiMlX1XhMRRVEt\nSB7WsmVL9O7dG3//+9/1Ux0REZk0rSESFRWFqKgoAICfnx8EQcClS5cMVhgREZk+nUZnRUdHax2d\nRUREzZdOITJ27Fh910FERE2Q1hDx8/ODhYUFLl68qDqdpY0gCLh48aJeCiQiItNVZ0/k4QvpvBeE\niIgepTVEAgMDVb2Ph2frbQw5OTmIjo7GqVOnIIoiBg0ahHfffRdt27atc7vs7GwsX74cly5dQl5e\nHuzt7dG1a1dMmzZN46EzRESkf1pDZPv27bV+/7gUCgXCwsJga2uL1atXAwDWrVuH8PBwHDhwAHZ2\ndlq3LSkpgaurK2bPng0PDw8UFxdj9+7deOONNxAbG4uQkJBGq5OIiOpn8Ed77dq1C1lZWTh8+LBq\nSnlfX18MHz4cO3fuREREhNZtfXx8sHz5crW2IUOGIDg4GF9++SVDhIjIwLSGSGxsbIN2VHNPSX2S\nkpLg7++v9kwSLy8v9O3bF4mJiXWGSG0sLS3h5OTER10SERlBnSHSkHtDdA0RuVyO4OBgjXYfHx8c\nOXJEp32Iooiqqircv38fO3fuxPXr13nXPBGREeg8OqsuDQmb/Px8yGQyjXaZTKaaFbg+q1evxmef\nfQYAaNGiBdatW4cBAwboXAMRETUOrSESHx9vyDoaJCIiAi+++CJyc3Oxf/9+zJ07Fxs2bOAILSIi\nA9MaIv3799fLAWUyGQoKCjTaCwoKdJ5Svk2bNmjTpg2A6gvrkydPxqpVqxgiREQG1uCr0ffu3YNC\nodBo9/T01Gl7Hx8fyOVyjXa5XA5vb++GlgMA6NGjR6MOQyYiIt3oHCIff/wx4uPja71u0ZBpT4KC\ngrBmzRpkZmbCy8sLAJCZmYnU1FTMmzdP13JURFHE2bNn1UZ7ERGRYegUIjt27MCGDRsa5YDjx49H\nQkICIiMjMWvWLABATEwMPD09MWHCBNV62dnZCAkJQVRUFCIjIwFUjxjLz89H37594e7ujrt372Lv\n3r24cOECPvzww0apj4iIdKdTiHz11VcAAA8PD+Tk5EAQBDz55JNIT0+Hh4dHg3oB9vb2iIuLQ3R0\nNBYsWKCa9mThwoWwt7dXrSeKouqrRrdu3RAfH49Dhw6hqKgIbm5u8PPzQ0JCAnr37q1zDURE1Dh0\nCpGMjAwIgoDNmzdj9OjRAKqD5csvv8Ty5cuxZs2aBh3Uw8MDMTExda7Trl07pKenq7UFBQUhKCio\nQcciIiL9sdBlpfLycgCAt7c3LCyqN6moqMCLL76I0tJS1RxYRETUvOjUE3FyckJ+fj7Ky8vh5OSE\nwsJC7NmzBy1atAAAXLlyRa9FEhGRadIpRNq2bYv8/Hzk5ubC19cXKSkpWLZsGYDqkVnu7u56LZKI\niEyTTqezevbsCWtra6SlpeHVV19Vu+gtiiImT56s7zqJiMgE6dQTWbp0KZYuXapaFkUR3333HSwt\nLTFs2DCMGjVKbwUSEZHpkjR/+siRIzFy5MjGroWIiJoYnUNEFEWkpaUhKytLNVrrYWPGjGnUwoiI\nyPTpFCI3btzAW2+9hWvXrtX6uiAIDBEiomZIpxB5//33cfXqVX3XQkRETYxOIXLu3DkIgoAuXbrg\n2WefhYODQ4MeREVEROZJpxCxtbXFgwcPEBcXBzc3N33XRERETYRO94mEhoYCqH6WCBERUQ2deiKD\nBw/GwYMH8dZbb2HKlCno0qULrKzUNw0MDNRLgUREZLp0CpEZM2ZAEAQUFRVh+fLlGq835KFURERk\nPhp0nwgREdHDdAqRqKgofddBRERNEEOEiIgka9DcWQqFAqmpqbh37x5cXV3Rp08f2NnZ6as2IiIy\ncTqHyLfffotly5ahsLBQ1ebs7IzFixdzMkYiomZKp/tEUlJSMH/+fBQWFqo9R6SgoADz58/Hr7/+\nqu86iYjIBOkUIp9++imqqqpgaWmJkJAQhIWFYdiwYbCysoJSqcSWLVv0XScREZkgnU5n/fbbbxAE\nAevXr0dwcLCq/fjx44iMjERqaqreCiQiItOlU0+kuLgYADBw4EC19qeeekrtdSIial50CpGWLVsC\nqL64/rCaZRcXl0Yui4iImgKdTmf1798f3333HZYsWYKEhAS0bdsWt27dwuXLlyEIAvr376/vOomI\nyATp1BN54403YGNjAwC4fPkyTpw4gcuXL0MURdjY2OCNN97Qa5FERGSadAqRJ554Aps3b0aHDh3U\nhvh26tQJmzdvhq+vr77rJCIiE6TzzYZPPfUUjhw5guvXr+PevXto1aoVOnbsqM/aiIjIxDVo2hMA\n6NSpEzp16qSHUoiIqKnRGiJhYWE670QQBMTFxTVKQURE1HRoDZHTp09DEIR6dyCKok7rERGR+anz\ndBYfREVERHXRGiKXLl0yZB1ERNQE6TTEl4iIqDZaeyJyuRx79uyBnZ0dZs2aBQsL9bxRKpVYv349\nysrKMH78eHh7e+u9WCIiMi1aeyK7d+9GfHw8RFHUCBAAsLS0RFVVFeLj47F79269FklERKZJa4j8\n9NNPAIBRo0Zp3Xj06NEQRRGnTp1q/MqIiMjkaQ2RnJwcAKjzxsLOnTurrUtERM2L1hApLy8HUPez\nQmpeq6ioaOSyiIioKdAaIq1btwYAHDx4UOvGNa+5u7s3cllERNQUaA2RgIAAiKKINWvWYPv27ais\nrFS9VllZie3bt2PNmjUQBAEBAQEGKZaIiEyL1iG+kydPxv79+1FeXo7o6GisW7cOHTp0AADcvHkT\npaWlqpFbkyZNMljBRERkOrT2RLp164aZM2eqpj4pKSnB5cuXcfnyZZSUlKjaIyMj0aNHD8NUSwZT\nVlam+rcmItKmzrmzIiMj4eHhgY8++gh37txRm0vL3d0ds2fPxrhx4/ReJBnWhQsXEB0djeLiYtjb\n22PevHkIDAw0dllEZILqfZ7I2LFjMWbMGPz+++/IzMwEAHh5eaF79+613oRITd+WLVtUI+9KS0ux\nadMmhggR1Uqnh1JZWFigZ8+e6Nmzp77rIRNw584dteXc3FwolUpYWloaqSIiMlXsSpCGwYMHqy0P\nHDiQAUJEtWrw43HJ/E2fPh0uLi74/fff4evri/Hjxxu7JCIyUQwR0mBjY4OJEycauwwiagJ4OouI\niCRjiBARkWSPFSKpqal4+eWXMXbs2Maqh4iImpDHuiZSXFyM9PR0CILQoO1ycnIQHR2NU6dOQRRF\nDBo0CO+++y7atm1b53bnz5/Hzp07kZKSgtu3b8PFxQX9+vXD7Nmz4eXl9ThvhYiIJDD46SyFQoGw\nsDBcu3YNq1evxpo1a3D9+nWEh4dDoVDUue13332HjIwMhIWFYcuWLZg3bx4uXryIcePG4fbt2wZ6\nB0REVMPgo7N27dqFrKwsHD58GO3btwcA+Pr6Yvjw4di5cyciIiK0bjt9+nS4urqqtfXp0wfBwcHY\nvXs3Zs6cqc/SiYjoEQbviSQlJcHf318VIED1NCp9+/ZFYmJinds+GiAA4OnpCVdXV/ZEiIiMQGtP\nJDY2tt6Nb9682eADyuVyBAcHa7T7+PjgyJEjDd5fRkYG8vLy4OPj0+BtiYjo8dQZIg29YK6L/Px8\nyGQyjXaZTIbCwsIG7UupVGLJkiVo1aoVZxMmIjKCOq+JPDz1uylaunQpfvvtN2zZsgVOTk7GLoeI\nqNnRGiJRUVF6OaBMJkNBQYFGe0FBAZydnXXez9q1a7F3716sWrUKAwcObMwSiYhIRwYPER8fH8jl\nco12uVwOb29vnfbxr3/9C1u3bsWiRYswatSoxi6RiIh0ZPDRWUFBQTh37pzqAVcAkJmZidTU1Fov\nuD8qPj4e69evx5w5czhJIBGRkT3W6KyH6dpzGT9+PBISEhAZGYlZs2YBAGJiYuDp6YkJEyao1svO\nzkZISAiioqIQGRkJADh48CBWrlyJZ599FgMGDMC5c+dU6zs6OurckyEiosbRaKOzdA0Re3t7xMXF\nITo6GgsWLFBNe7Jw4ULY29ur1hNFUfVV4+TJkwCAH374AT/88IPafgMDAxEfH69zvURE9PgaZXRW\nQ4cCe3h4ICYmps512rVrh/T0dLW2lStXYuXKlQ06FhER6Y/WEJkxY4Ze7hMhIiLzoTVEOA8VERHV\nR+vorODgYISEhBiyFiIiamK09kSysrJ4OouIiOrEx+MSEZFkDBEiIpKs3odSPfnkk/XuRBAEXLx4\nsVEKIiKipqPeEDH1mXyJiMh4eDqLiIgkq7cncunSJUPUQURETRB7IkREJBlDhIiIJNN6OsvT05M3\nGxIRUZ20hsjx48cNWQcRETVBPJ1FRESSMUSIiEgyhggREUnGECEiIskYIkREJBlDhIiIJGOIEBGR\nZAwRIiKSrN4JGImITMmdO3dw7NgxWFhYYNiwYWjVqpWxS2rWGCJE1GTk5uZizpw5KCoqAgAcOnQI\nGzZsgLOzs5Era74YIkTUaLZt24aTJ0/qbf8lJSUoKSlRLd+/fx9vvPEG7O3t1dYrLi4GADg6Ouqt\nFl0MHjwYU6ZMMWoN+sZrIkTUZNQ2KWxtbQqFAgqFwhAlNXvsiRBRo5kyZYpe//IuLi7G3LlzkZOT\nAwDo0KED1q5dCzs7O406gOqeEekXQ4SImgxHR0fExMTgl19+gYWFBfr37w9bW1tjl9WsMUSIqEmx\ns7PDkCFDjF0G/YHXRIiISDL2RIjMxPz585Gbm2vsMvROFEUUFxejvLwcVlZWaNGiBays1H+V1fwc\nzH1klK7c3NywevVqveybIUJkJnJzc3Hnzl1Y2trXv3ITJiorgColAKCiogL5+QWAlY3aKC1RqD7J\nkldQbJQaTYmyrFSv+2eIEJkRS1t7tO432thl6FXuucNQlhY+1CLCrUcwLO2Me0+Iqbpz9oBe989r\nIkTUpFi3cFFbtrC2hYWNefe+TBlDhIiaFMcOvWDt5A4AsLBxgLP3AAgWlkauqvni6SwialIsbezh\n2n0oqpQVECysar1jnQyHIUJETZKFpbWxSyDwdBYRNWHK8lIo7mVBWa7fEUikHXsiRNQkKfL+iwL5\nL4BYBQgWkHV9CnauXsYuq9lhT4SImqSiG+eqAwQAxCoU3zhn3IKaKYYIETVJVRVl6suVZVrWJH1i\niBBRk2Tv3klt2e6RZTIMXhMhoibJqVMfWNk7obwoDzbObrBv423skpolhggRNUmChQUc2vrCoa2x\nK2neeDqLiIgkY0+E6nTz5k3cvHkTPXv2hEwmM3Y5VIfi4mIoy0r1PuEeNS3KslIU63EyY4YIabV3\n717Ex8cDAGxtbbFkyRL06NHDyFURkSlhiDRB27Ztw8mTJ/V6DFEUkZeXp1ouKyvDkiVLVL2R4j/+\ntHF0NP7024MHD+bDh1D9b1GmhNlPBU8Nc+fsAb3+P+U1EaqVKIoabUqlUvW9QqGAQqEwZElEZILY\nE2mCpkyZYpC/vJcvX47Tp0+rli0sLDBq1Ci8/PLLquNv27ZN73UQPaqqsgLFN9NQXnQX1o6ucOrQ\nCxbWdsYuq1liT4S0euedd9CnTx/VcmVlJT777DPcunXLiFURAUXXzqL0TgaUpYVQ3L2OAvnp+jci\nvTBKiOTk5ODtt99GQEAA+vXrh5kzZ+r8i+mf//wnpk6digEDBsDPzw/79+/Xc7XNU0ZGBv72t78h\nNTVV47Xk5GQjVET0P2X56r8vygtyINbMo0UGZfDTWQqFAmFhYbC1tcXq1asBAOvWrUN4eDgOHDgA\nO7u6u6T//ve/0a1bNwQFBRk8QObPn4/c3FyDHtMYRFHE/fv3UVVV+3/K3bt3o7KyEgB4QfsPbm5u\nqs8z6Z+VvTMqiv838MPSzgmCwBMrxmDwENm1axeysrJw+PBhtG/fHgDg6+uL4cOHY+fOnYiIiKhz\n+19//RVA9f0L+/bt03e5anJzc3H3zh04GPSohicCqLLQ/h9SWVEByz8uvD+4c8dAVZmuEmMX0Aw5\nde6L/CunUFX2ABbWdnDuEmDskpotg4dIUlIS/P39VQECAF5eXujbty8SExPrDRFjcwDwJyvzHo8g\niiL2iyKKtLze38ICT/CRpCp7/uiVkeFYt3CBW+8R1SFi68BeiBEZ/Ccvl8vRtWtXjXYfHx9kZGQY\nuhyqhSAIeBqAMwABQDsAfQD4AhgqCAwQMgmCIMDSzpEBYmQG/5M6Pz+/1ukzZDIZCgsLDV0O1SJX\nFHEcQDmqQ8SLwUFmoLzwLipLC2EjawMrO+PfJGsuzPu8DEmSKooo/+N7EcBZUYQ3ACsGCTVRRTfT\nUJJ9qXpBENDS92nYungatygzYfB+oEwmQ0FBgUZ7QUEBnJ2dDV0O1eLRC8WVACqMUQhRI6iqrEDJ\nrSv/axBFPMhKN15BZsbgIeLj4wO5XK7RLpfL4e3Nh8qYgi6P9Dg8ANizF0JNVhXwyDQ+YpVSy7rU\nUAYPkaCgIJw7dw6ZmZmqtszMTKSmpiI4ONjQ5VAtevzxZQ/AEYDmMAh1D0QRZ6uq8GNVFW7XMucW\nkTFZWNnCzq2DWpuDh4+RqjE/Br8mMn78eCQkJCAyMhKzZs0CAMTExMDT0xMTJkxQrZednY2QkBBE\nRUUhMjJS1X7mzBncu3cPd+/eBQCcP38e9vb2AIDhw4cb8J2YrzIAl/G/U1g/AHAQRbSppTeiFEUc\nFkU8+GP5qigiFKh1XdI/Pk+kWlVl9VU9CysbAH9MKGppVd0jESxQ9N8LKPrvBWOWaDDKslJU/zmo\nHwYPEXt7e8TFxSE6OhoLFiyAKIoYNGgQFi5cqAoDoPofvebrYTExMUhJSQFQPcQvISEBCQkJAID0\ndJ7nbAxZ0LwGckNLiNwCVAECVF+I/1EUEQLAmUFiUG5ubsYuwWTUzCzRSsZRWICjXj8bRhmd5eHh\ngZiYmDqvYDoYAAAVuUlEQVTXadeuXa2hsH37dn2VVa/i4mKUwvxvLlMCwCN3rMurqnCjlmlQqmpZ\ntxjA11VVsBVFNIcYKQEg6vPRcTritCv/w1mmDYd36ZAGS0A1rQkAWIii1r82LB5Zt4YoCOB0eETm\nj/eJNICjoyOEkhKzn/akRpEoohKASx3zaNU4UVWFm4+0dbOwQFdBMPuRXXsqK9HCBJ7wSGQM7ImQ\nVk6CABcdA6C/IKDlI22/AfhaFFHIEVtEZqt5/ElNeucgCBgF4D+iiJ8fai8HcFkUEWjmvREyfUql\nEt9++y3OnTsHb29vjB07Vm0wD0nDECGdVYkislEdDF4AbB4JBkEQ0ALQvLHLQPUR1eWLL77A3r17\nAQApKSm4fv063nvvPSNX1fQxREgnoijimCgi549lOwAjADg+EiRtAbQEkP/HshWAruyFkAk4ceKE\n2vLp06dRWlrK3shj4jUR0knOH181FACSa7nWYSEIeF4Q0F8Q0FsQMKoB11WI9KlVq1Zqy05OTrCx\nsTFSNeaDIUI6qe3OmDwA2bUEiY0gwE8Q0EsQ4MQAIRMRERGBFi1aAACsrKwwdepUWFpaGrmqpo+n\nsxqoBOZ/s2FtRAAQhOqvh5xQKmFtlIpMRwlQfS2ITFr37t2xdetW/Oc//0GHDh3g4uJi7JLMAkOk\nAZr7tBLWZWUoKlJ/aK6jqyusmsl9M9q0AD8bTYWDgwP8/f2NXYZZad7/+xuI00oAiYmJ2L9/PzIz\nM+Hg4ID4+Hi11+/evYtNmzbh8uXL6N69O9588020bPnoHSREZC4YIlSro0eP4siRI3BwcMCECRPQ\no0cPAEBwcDCCg4NVcxM9at26dbhwoXp21FOnTkGpVHIYJZEZY4iQhjNnziA2Nla1nJ6eji1bttR7\nDlmpVKoCpEZaWppeaiQi08DRWaTh9OnTasvl5eU4d+5cvdtZWlqic+fOam1dunRp1NqIyLQwREiD\nl5eXRlv79u112nbWrFmqdTt37owZM2Y0am1EZFp4Oos0PP/880hLS8OZM2dgZWWFsWPHwtvbG0D1\nhfNPP/0U9+7dg7W1NUpKSuDg4KDatkuXLvj444812onIPDFESIOtrS0WLVqEvLw82NrawvGhac5X\nrVqFK1euAADKysrw6aef4u2339bYBwOEqHlgiJBWj04TUVxcrAqQGr/++qshSyIiE8NrIqQzBwcH\ntG7dWq2tY8eORqqGiEwBQ4R0ZmFhgVmzZql6KJaWlnj99deNXBURGRNDhBqkZ8+e+PTTT+Hq6goX\nFxe0a9fO2CURkRExRKjBLC0tYaHDc9eJyPzxNwEREUnGECEiIskYIkREJBlDhIiIJOPNhkRk1jIz\nM3Hw4EEolUq88MILGpOE0uNhiBCR2bp37x7eeecdPHjwAACQlJSE9evXw9PT08iVmQ+GCBE1mm3b\ntuHkyZPGLgO5ubkAgBkzZqgCBKie723u3LkGm9tt8ODBWh/gZi4YIkRkduzs7ACg1vuZBEEwdDlm\njSFCRI1mypQpJvWXd0VFBRYtWoSLFy8CqH5UwcqVK2Fvb2/kyswHQ4SIzJa1tTWio6Px+++/Q6lU\nomfPnrC0tDR2WWaFIUJEZs3CwgI9e/Y0dhlmi/eJEBGRZAwRIiKSjKezSCdpaWk4efIk3NzcMGLE\nCGOXQ0QmgiFC9Tp9+jRWrFgBURQBAL/88ouRKyIiU8EQaYIMfUNXQUGBKkAA4D//+Y/qe1MYztkc\nbugiMlUMEapXbTds2djY8MFURMQQaYoMfUPXjRs3sHDhQhQXFwMAQkNDERUVZbDjE5HpYohQvTp2\n7IjNmzcjNTUV7u7u8PPzM3ZJRGQiGCKkE0dHRzzzzDPGLoOITAxPahMRkWQMESIikowhQkREkjFE\niIhIMoYIERFJxhAhIiLJGCJERCQZQ4SIiCRjiBARkWRGCZGcnBy8/fbbCAgIQL9+/TBz5kzcunVL\np23Ly8uxatUqDB48GP7+/vjzn/+MlJQUPVdMRES1MXiIKBQKhIWF4dq1a1i9ejXWrFmD69evIzw8\nHAqFot7tFy5ciC+//BKzZ8/Gpk2b4O7ujqlTp+LSpUsGqJ6IiB5m8Lmzdu3ahaysLBw+fBjt27cH\nAPj6+mL48OHYuXMnIiIitG576dIlHDx4EB988AHGjBkDAAgMDMTIkSMRExODjRs3GuItEBHRHwze\nE0lKSoK/v78qQADAy8sLffv2RWJiYp3bJiYmwtraGi+88IKqzdLSEiNHjsTJkydRUVGht7qJiEiT\nwUNELpeja9euGu0+Pj7IyMioc9uMjAx4eXnB1tZWY9uKigrcvHmzUWslIqK6GTxE8vPzIZPJNNpl\nMhkKCwvr3LagoKDWbVu2bKnaNxERGQ6H+BIRkWQGv7Auk8lQUFCg0V5QUABnZ+c6t3V2dkZ2drZG\ne00PpKZHoo1SqQRQPcSYiIjqV/P7sub356MMHiI+Pj6Qy+Ua7XK5HN7e3vVue+zYMZSVlaldF5HL\n5bC2tkaHDh3q3P7u3bsAgEmTJkmonIio+bp79y46duyo0W7wEAkKCsKaNWuQmZkJLy8vAEBmZiZS\nU1Mxb968erfdsGEDDh06pBriq1QqcejQIQwePBjW1tZ1bt+jRw988cUXcHd3h6WlZeO8ISIiM6ZU\nKnH37l306NGj1tcFURRFQxZUWlqKMWPGwNbWFrNmzQIAxMTEoLS0FF9//TXs7e0BANnZ2QgJCUFU\nVBQiIyNV28+dOxc//vgj5s2bBy8vL+zYsQPJycnYtWsX/Pz8DPlWiIiaPYP3ROzt7REXF4fo6Ggs\nWLAAoihi0KBBWLhwoSpAAEAURdXXwz744AOsW7cO69evR1FREfz8/LB161YGCBGRERi8J0JEROaD\nQ3yJiEgyhggREUlm8GsipB/79u3DwoUL4ezsjMTERDg5OaleUyqV6N69O6KiohAVFdVox6phb28P\nFxcXdOvWDSNHjlSb2+xh9+/fx7Zt25CUlISsrCyIooj27dtj6NChCAsLg5ubG4DqUXgP3w9kb2+P\n9u3bY/z48fjLX/7y2PVT0yDlc8bPmOExRMxMUVERtmzZgrlz5+r1OIIgICYmBm3atEF5eTmys7OR\nnJyMv/71r9i9ezc2bdoEGxsb1fpyuRxTpkyBIAgICwtD9+7dAQDp6enYtWsXrl27hg0bNqjWf+aZ\nZzBz5kwAQHFxMZKSkrB8+XJUVlbWOdMzmZeGfM74GTMSkczCV199JT7xxBPi1KlTxd69e4t5eXmq\n1yorK8UnnnhC3LBhQ6Mdy8/PT7x586bGa0ePHhX9/PzEZcuWqR3/+eefF0NDQ8V79+5pbKNUKsUT\nJ06olocOHSq+8847Guu9+uqr4vjx4xvlPZDpa8jnjJ8x4+E1ETMiCALeeustANDp2SppaWmIiIhA\nnz590KdPH0RERCAtLe2xahg2bBiCg4OxZ88elJWVAQCOHj2Ka9euYd68eXBxcdHYxsLCAkOGDKl3\n346OjpzunwBofs74GTMehoiZad26NSZNmoTdu3fX+cjhS5cuYfLkySgqKsLq1auxevVqFBcXY/Lk\nybh8+fJj1TBkyBCUl5fj/PnzAICffvoJVlZWePbZZ3XehyiKUCqVUCqVKCwsxP79+3Hq1CmMHDny\nsWoj8/Hw54yfMePhNREzNH36dOzatQuxsbFYsWJFrets3LgRtra2iIuLg6OjIwBg4MCBCA4Oxscf\nf4yYmBjJx2/bti1EUVTNVXbr1i24uLhoPAemLt988w2++eYb1bIgCPjTn/6EqVOnSq6LzEvbtm0B\nVM/pxM+Y8TBEzJBMJsNrr72GjRs3Yvr06WpPkayRkpKC5557ThUgQHVXPigoCElJSY91fPGP+1cF\nQZC8jyFDhmDWrFkQRRGlpaU4f/48YmNjYWVlhcWLFz9WfWQeHvdzxs9Y4+DpLDMVEREBZ2dnrT2K\ngoICuLu7a7S7ubnV+3Cw+uTk5EAQBNX+27Zti/v376uukehCJpOhW7du6N69OwICAvDaa68hMjIS\nO3bsqPcJmNQ81ExR7u7uzs+YETFEzJSDgwNef/11HD58GOnp6Rqvy2Qy5ObmarTn5ubW+1yX+iQl\nJcHW1lY16+fAgQOhVCrx/fffP9Z+fXx8AABXrlx5rP2QeXj4czZw4EBUVlbyM2YEDBEzNnHiRLRp\n0wYfffSRRpc/MDAQycnJKCkpUbUVFxfj+PHjGDBggORjHjlyBElJSXj11VdV56dDQ0PRqVMnrF27\nFvfu3dPYRqlUIjk5ud5911zwd3V1lVwfmYdHP2ehoaHo3LkzP2NGwGsiZszGxgaRkZFYtGiRRohE\nRkYiOTkZ4eHhmD59OgBgy5YtKCsrw4wZM+rdtyiKuHjxIu7du4eKigpkZ2fjxIkTOHz4MAYPHow5\nc+ao1rW0tERsbCymTJmCMWPGICwsTNVLuXTpEnbv3g1vb2+1IZj379/HuXPnAAAKhQLnzp3DJ598\ngieffBKBgYGP/bOhpkHXzxk/Y8bDWXzNxL59+/Duu+/i6NGjahfSlUolRowYgZs3b2LGjBlq056k\npaXho48+wm+//QZRFNGnTx/MnTtX68NnHj1WDVtbW7i6uqJ79+4YNWoUQkNDa90uPz8f27Ztw/Hj\nx1VTUnTs2BFBQUGYPHmy6q+/oKAgteHJNjY28PT0REhICKZPn/7Yp9uoaZDyOeNnzPAYIkREJBmv\niRARkWQMESIikowhQkREkjFEiIhIMoYIERFJxhAhIiLJGCJERCQZ71gnsxcbG4vY2Fi1NisrK7Ru\n3RoDBw7EzJkz4eHhYaTqiJo29kSo2RAEQfWlVCpx69YtfPnll5g4cSJKS0uNXR5Rk8QQoWZlxowZ\nSE9Px8GDB1UPNbp16xYSExONXBlR08TTWdQsdenSBaGhofj8888BANnZ2arXbt++jY0bN+LkyZO4\nffs2HBwc4O/vjzfeeAMBAQGq9e7fv4+YmBj88MMPyM3NhaWlJdzd3dG9e3fMnDkTnTp1AgD4+fkB\nqJ45edq0afjoo4+QkZEBNzc3TJw4EdOmTVOr7fLly9i0aRNOnz6N/Px8ODo6onfv3pg2bZra8R8+\nTffxxx/j5MmTOHr0KMrKyuDv74/FixejY8eOqvWPHj2KuLg4XL16FcXFxZDJZOjUqROCg4Px2muv\nqdbLyMjAJ598gl9++QX37t2Ds7MzAgICMGPGDDzxxBON8w9AZoMhQs3Ww9PGtWrVCgBw9epVTJw4\nEfn5+aqZj4uKivDDDz/gxx9/xIcffogXXngBALBgwQJ8//33ajMk37hxAzdu3MDo0aNVIQJUn0q7\ncuUK3nrrLdVxs7OzsXbtWpSWlmLmzJkAgJ9//hmvv/46ysvLVfstKCjAiRMn8P3332P16tV48cUX\n1d6HIAhYuHAhioqKVG0//vgj3nrrLRw8eBCCICAtLQ2zZ89We895eXnIy8uDQqFQhUhKSgqmTZum\n9nCn+/fv4+jRo0hOTsa2bdvQr18/iT9xMkc8nUXNUkZGBv7v//4PQPUDvIYOHQoAWLFiBfLz8+Hs\n7Iz4+HikpaXhyJEj6NKlC0RRxLJly1BZWQmg+heuIAgYNmwYUlJScPbsWRw4cAALFixAmzZtNI5Z\nWFiIOXPmICUlBVu3boWdnR2A6in479+/DwBYsmQJKioqIAgCli5dirNnz6oe2VpzfIVCobFvJycn\nfP311/jhhx/QpUsXAMC1a9eQlpYGADh79iyqqqoAALt27cKFCxeQnJyMTz75RC2UFi1ahLKyMnh6\neuKrr77C+fPnsW/fPri6uqK8vBzvv/9+o/z8yXywJ0LNyqMjtTp27IgVK1bA1dUVZWVl+PnnnyEI\nAgoLCzF58mSN7e/fv4+LFy+iV69e8PLywpUrV5CamoqNGzfCx8cHvr6+CA8Pr/W5323atFE9u2XQ\noEEICQnBt99+i4qKCqSkpKBr1664ceMGBEHAE088gfHjxwMAgoOD8dxzz+HYsWMoLCxEamoqBg4c\nqLbvKVOmwNfXFwDw7LPPqh7vmpWVBX9/f3h5eanW3bRpE/r164cuXbqgV69eqmds3LhxA9euXYMg\nCMjKysLLL7+s8R6uXLmCvLw8Vc+NiCFCzcrDv9xFUYRCoUBFRQWA6mdRKJVK1QgubdvX9BqWL1+O\nv/3tb7h27Rq2bdumOlXk6emJjRs3qq6F1Hh0GLGnp6fq+/v376s9ka/mon9t69b25L6a3gdQ3bOq\nUV5eDgAYNmwYJk2ahL179+L48eM4fvw4RFGEpaUl/vznP2PRokXIy8ur9ef06PvPz89niJAKQ4Sa\nlRkzZuDNN9/EkSNHMH/+fNy+fRtRUVE4ePAgXFxcYGlpiaqqKnTs2BGHDx+uc1+9evXCd999h+zs\nbFy9ehWXLl3Cxo0bcevWLaxduxaffvqp2vq3b99WW374Yr6Li4vaL+aHH5j06HJtj261svrff2Vt\nAbBo0SIsWLAAly9fxo0bN/DNN98gOTkZCQkJGD16tNrxBw0ahK1bt9b19okA8JoINUNWVlYYOXIk\nJk6cCAAoKSnB2rVrYWtri6eeegqiKOLGjRtYs2aN6rGsV69exWeffYbw8HDVftatW4ekpCRYWFhg\nwIABeP755yGTySCKokYIAEBOTg62bNmCBw8e4Mcff8SxY8cAANbW1ggICEDHjh3RqVMniKKIy5cv\nY/fu3SgpKcHx48eRlJQEAHB2dkafPn0a/J7PnDmDLVu24OrVq+jUqRNCQ0Ph7++vej07O1vt+D/9\n9BPi4uJQVFSE8vJyXLp0CbGxsWqPPSYC2BOhZiwyMhJfffUVHjx4gO+++w7Tpk3Du+++i0mTJqGg\noABbt27V+Gu8Xbt2qu8PHTqETZs2aexXEAQ888wzGu2urq5Yv349PvzwQ7V1X3/9dbi4uAAAli5d\nqhqdtXjxYixevFi1rqWlJRYvXqy6IN8Qt27dwocffqh27BoODg6qEVfLli3D9OnTUVZWhpUrV2Ll\nypVq6/bv37/Bxybzxp4INQu1neJxcXHB1KlTIQgCRFHEP//5T3h7e+Prr7/Gq6++ig4dOsDGxgbO\nzs7o2rUr/vSnP2Hp0qWq7f/yl79g4MCBaNOmDWxsbGBnZ4euXbvi7bffxjvvvKNxPG9vb2zevBk9\nevSAra0tPD098c4776g9937AgAHYs2cPRowYAXd3d1hZWaFly5YYOnQotm/fjpEjR2q8r9re26Pt\n3bt3x7hx4+Dj4wNnZ2dYWVnB1dUVQUFBiI+PR+vWrQFU38vy5ZdfYsyYMWjbti2sra3RsmVL+Pn5\nISwsDHPnzm34D5/MGp+xTqRnfn5+EAQBgYGBiI+PN3Y5RI2KPREiA+DfamSueE2ESM9qTitpGzVF\n1JTxdBYREUnG01lERCQZQ4SIiCRjiBARkWQMESIikowhQkREkjFEiIhIsv8HwnVc4oweJkkAAAAA\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7bee3e490>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mann_whitney_hyper_label_printer(cohort.plot_benefit(on={\"TIL Clonality\": clonality}), label=\"til_clonality_benefit\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def clonality_proportion_dcb_plot(ax=None):\n",
    "    if ax is None:\n",
    "        ax = plt.gca()\n",
    "        \n",
    "    ax = plt.gca()\n",
    "    results_clonality = cohort.plot_benefit(on=\"Clonality\", ax=ax)\n",
    "    clonality_significant = results_clonality.p_value <= 0.05\n",
    "    results_fraction = cohort.plot_benefit(on=\"T-cell fraction\", ax=ax)\n",
    "    fraction_signficiant = results_fraction.p_value <= 0.05\n",
    "    ax.clear()\n",
    "    \n",
    "    cols, df_clonality_fraction_init = cohort.as_dataframe(on={\"TIL Clonality\": \"Clonality\", \n",
    "                                                               \"TIL Proportion\": \"T-cell fraction\"},\n",
    "                                                      return_cols=True)\n",
    "    df_clonality_fraction_benefit = df_clonality_fraction_init[[\"patient_id\", \"benefit\"]].set_index(\"patient_id\")\n",
    "    df_clonality_fraction = df_clonality_fraction_init[cols + [\"patient_id\"]]\n",
    "    df_clonality_fraction.set_index(\"patient_id\", inplace=True)\n",
    "    df_clonality_fraction = pd.DataFrame(df_clonality_fraction.unstack())\n",
    "    df_clonality_fraction[\"TIL Measurement\"] = df_clonality_fraction.index.get_level_values(0)\n",
    "    df_clonality_fraction.columns = [\"Percent\", \"TIL Measurement\"]\n",
    "    df_clonality_fraction = df_clonality_fraction.join(df_clonality_fraction_benefit)\n",
    "    df_clonality_fraction[\"Response\"] = df_clonality_fraction.benefit.apply(\n",
    "        lambda b: cohort.benefit_plot_name if b else \"No \" + cohort.benefit_plot_name)\n",
    "\n",
    "    def add_significance_indicators(plot, indicators=[]):\n",
    "        from cohorts.plot import vertical_percent\n",
    "        plot_bottom, plot_top = plot.get_ylim()\n",
    "        # Give the plot a little room for the significance indicator\n",
    "        line_height = vertical_percent(plot, 0.1)\n",
    "        # Add some extra spacing below the indicator\n",
    "        plot_top = plot_top + line_height\n",
    "        # Add some extra spacing above the indicator\n",
    "        plot.set_ylim(top=plot_top + line_height * 2)\n",
    "        color = \"black\"\n",
    "        line_top = plot_top + line_height\n",
    "        for col_a, col_b, significant in indicators:\n",
    "            plot.plot([col_a, col_a, col_b, col_b], [plot_top, line_top, line_top, plot_top], lw=1.5, color=color)\n",
    "            indicator = \"*\" if significant else \"ns\"\n",
    "            plot.text((col_a + col_b) * 0.5, line_top, indicator, ha=\"center\", va=\"bottom\", color=color)\n",
    "    \n",
    "    box_ax = sb.boxplot(data=df_clonality_fraction, y=\"Percent\", x=\"TIL Measurement\", hue=\"Response\",\n",
    "                         ax=ax)\n",
    "    # http://stackoverflow.com/questions/35538882/seaborn-boxplot-stripplot-duplicate-legend\n",
    "    strip_ax = sb.stripplot(data=df_clonality_fraction, jitter=0.05, palette={cohort.benefit_plot_name: \"0.3\", \n",
    "                                                                              (\"No \" + cohort.benefit_plot_name): \"0.3\"}, split=True, y=\"Percent\", x=\"TIL Measurement\", hue=\"Response\",\n",
    "                         ax=ax)\n",
    "    \n",
    "    add_significance_indicators(ax, [(-0.2, 0.2, clonality_significant), (0.8, 1.2, fraction_signficiant)])\n",
    "    \n",
    "    handles, labels = ax.get_legend_handles_labels()\n",
    "    ax.legend_.remove()\n",
    "    l = ax.legend(handles[0:2], labels[0:2], bbox_to_anchor=(0, 0.7), loc=2, borderaxespad=0.)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{clonality_proportion_benefit_plot}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "Mann-Whitney test: U=91.0, p-value=0.104634955402 (two-sided)\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "Mann-Whitney test: U=97.0, p-value=0.0465677613869 (two-sided)\n",
      "inner join with tcr_tumor: 29 to 24 rows\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nRABIExEA0m63TlI0RB1GzAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7ad15d4d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hyper_figure_label_printer(\"clonality_proportion_benefit_plot\")\n",
    "clonality_proportion_dcb_plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "# no condition 12\n",
      "# with condition 12\n",
      "{{{til_clonality_curves_os_plot}}}\n",
      "{{{til_clonality_curves_os_logrank:n=24, log-rank p=0.47}}}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/tavi/miniconda2/lib/python2.7/site-packages/numpy/core/fromnumeric.py:224: FutureWarning: reshape is deprecated and will raise in a subsequent release. Please use .values.reshape(...) instead\n",
      "  return reshape(newshape, order=order)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7acfafd90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_hyper_label_printer(\n",
    "cohort.plot_survival(on={\"TIL Clonality\": clonality}, how=\"os\"),\n",
    "    label=\"til_clonality_curves_os\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "# no condition 12\n",
      "# with condition 12\n",
      "{{{til_clonality_curves_pfs_plot}}}\n",
      "{{{til_clonality_curves_pfs_logrank:n=24, log-rank p=0.51}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n8sn7qKgo7N+/H2fOnEFycnKZYy1atICDgwPGjRsHa2trlRVF9KzoME+1375trhgHK6f1av2MytSH\nrYm3bduG3377DQEBAdi4cSMcHR0xZswY9O3bV+nMrjZvTXzz5k107NixTNvDhw9RWFiIM2fO4Jdf\nfsHSpUvRv39/HD58GImJiRg7dixcXV3RunVr+Pv7IywsDD///DMaN26MNWvWYOXKldi4cSNiY2Ox\ncuVK+Pr6onv37ti4cSMePHhQ5rOe/TtzdHTEunXr0KBBA2zYsAGffvppmR1FT5w4AV9fX1hZWeGz\nzz7DN998g40bN0rHO3XqhJiYGNjZ2VX6dyWX0hlLdHQ0pk6dirfffhv79+9HUlKS9Bta6df9+/dx\n6NAhTJw4EZMnTy7zWxERyVcftibW1taGs7MztmzZglOnTsHGxgYbNmyAk5MTfv755wpfU5u3Js7J\nySm38KaOjg5mzJgBbW1tuLi4ICMjA1OnToWBgQEsLCzw2muvSRuR7du3D/Pnz4eZmRl0dHQwa9Ys\nBAcHo7i4GMHBwXByckLPnj2ho6MjhbkyY8aMgYGBgfQ+MTExZXbSHDx4MN544w1oaWlhxIgRuH79\nerm/02dnS69K6Yxl7NixAEr+w2rSpAlsbW2hUCikfRAyMjIQExODy5cvIz09HefPn8f48eMZLqRy\nVk7ra3Q2UR3qw9bEzzI1NUWXLl2gUCgQHBys9M6z2rw1sbGxcbmAMzU1lWYS+vr6AEo2NSulr68v\nBV1SUhJmz54NLa2S3+9FUUSDBg3w8OFDPHjwoMymaQYGBkr3hSkuLsamTZsQHByMjIwMCIIAQRCQ\nkZEhnUZ99r8HAwODMjtyAiUBbmxsXOH7v4xKT4UNHToU48ePR58+faTBP6+4uBh//vkn9u3bh1On\nTqmsMKL6pHRr4tGjR1fZ99mtiUt/aL7o1sT+/v6wtbUFUBIOr7I18cqVK6WtiT/77LNK+9+5cweH\nDx/GkSNHYGxsjNGjR8PT01P6hfV5z25NXDrWmJgYpQFWujVxt27dACjfmhgAnj59irfeegvTpk0D\nULI18W+//Vbm/Sq7+cLS0hLx8fF44403Kh2zMubm5vjyyy+lf4dnNW/eHLdv35a+z8vLUzpzKr1J\n4ccff0SrVq2Qk5Oj9PSdMrdu3ar0RoUXpfRU2PHjx/HNN9+gX79+SkMFALS0tNCvXz98++23OHbs\n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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7acf839d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_hyper_label_printer(\n",
    "cohort.plot_survival(on={\"TIL Clonality\": clonality}, how=\"pfs\"),\n",
    "    label=\"til_clonality_curves_pfs\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "# no condition 12\n",
      "# with condition 12\n",
      "{{{til_proportion_curves_os_plot}}}\n",
      "{{{til_proportion_curves_os_logrank:n=24, log-rank p=0.26}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nQofpAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7bee0a590>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_hyper_label_printer(\n",
    "cohort.plot_survival(on={\"TIL Proportion\": tcell_fraction}, how=\"os\"),\n",
    "    label=\"til_proportion_curves_os\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "# no condition 12\n",
      "# with condition 12\n",
      "{{{til_proportion_curves_pfs_plot}}}\n",
      "{{{til_proportion_curves_pfs_logrank:n=24, log-rank p=0.32}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nkSOVNvlS3CE2cuRIeHp6ajQkERFpD8lP3n/55Zfw9PREVFQU0tLS0KhRI/Tp0wcODg6azEdERFqm\nwsJSUFCAJUuWQCaTYcqUKfj000+rIhcREWmpCi+FGRgY4NixYwgJCYGFhUVVZCIiqjNsx3Ws7ghq\nJ2mOpWPHko6npaVpNAwRUV1T2xagBCQWlrlz58LAwABLlizBkydPNJ2JiIi0mKTJ+3nz5kFHRwen\nT5+Gi4sLGjduDENDQ/G4TCZDeHi4xkISEZH2kFRYEhISIJPJAJQ8u/LyqEVxjIiISFJhadGihaZz\nEBFRLSGpsHD1YiIikkrS5H1GRgYyMjI0nYWIiGqBcgtLeHg4+vXrhx49eqBHjx7o378/J+mJiKhc\nKgvLxYsXMWPGDMTHx4trgz148AAzZszAhQsXqjIjERFpEZWFZcuWLSguLhYXm1QoLi5GUFCQxoMR\nEZF2UllYrl27BplMhtGjR+PcuXP4/fffxeXxr169WmUBiYhIu6gsLJmZmQAAPz8/mJubo2HDhvDz\n8wMAZGVlVU06IiLSOioLS3FxMQCgfv36YpuJiQkAlLo8RkREpFDhcyzr1q2T1O7r66ueREREpNUq\nLCw//PCD0veK5VtebmdhISIioILCIvWSF9cKIyIiBZWFhSMQIiJ6FSwsRESkVpLWCiMiIpKKhYWI\niNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSK\nhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWIiNSKhYWI\niNSKhYWIiNSKhYWIiNSKhYWIiNSqVhSWR48eYcaMGejatSu6dOmC6dOnIykpqbpjERHVSVpfWPLy\n8jBu3DjcvXsXq1evxpo1a3Dv3j2MHz8eeXl51R2PiKjO0avuAK9r9+7dSEhIwPHjx9G6dWsAQIcO\nHTBgwADs2rULEyZMqN6ARER1jNaPWCIjI2FnZycWFQBo1aoVOnfujIiIiGpMRkRUN2l9YYmNjYW1\ntXWpdisrK8TFxVVDIiKiuk3rC0tGRgbMzc1LtZubmyMrK6saEhER1W1aP8fyup4/fw6g5M4yIiKq\nmOLnpeLn58u0vrCYm5sjMzOzVHtmZibMzMwqfH1KSgoAYMyYMWrPRkRUm6WkpOCNN94o1a71hcXK\nygqxsbGl2mNjY9G+ffsKX//222/j559/RtOmTaGrq6uJiEREtcrz58+RkpKCt99+u8zjWl9Y3Nzc\nsGbNGsTHx6NVq1YAgPj4eFy5cgVz586t8PVGRkbo2rWrpmMSEdUqZY1UFGSCIAhVmEXtcnNz4enp\nCUNDQ8ycORMA8O9//xu5ubk4ePAgjI2NqzkhEVHdovWFBSiZSPrqq69w9uxZCIKAnj17YsGCBWjR\nokV1RyMiqnNqRWEhIqKaQ+ufYyEiopqFhYWIiNSqzhaWmr7UfnJyMpYvX47Ro0fD3t4ecrkciYmJ\npc7LysrCwoUL0b17dzg4OOAf//gH/v7771LnFRQUICAgAM7OzrCzs8Po0aNx8eLFqugKjh8/jmnT\npqFPnz6ws7PDe++9h2+//RZPnz7Vur6cPn0a48ePh7OzM9555x24urpi1qxZpZYP0oa+lGXixImQ\ny+X417/+pdRe0/tz/vx5yOXyUl9OTk5a1Y8XRUVFYezYsXBwcECXLl3wwQcf4Ny5c+LxGt0XoQ7K\nzc0V+vXrJwwZMkSIiIgQIiIihCFDhgj9+vUTcnNzqzueIAiCcO7cOaFXr17CP//5T2HixImCXC4X\nEhISSp03evRowdXVVTh69Khw6tQpYezYsUK3bt2ER48eKZ03e/ZswdHRUdi7d6/w+++/C76+vkKn\nTp2EGzduaLwvI0eOFKZPny4cOnRIOH/+vPDTTz8JXbt2FUaNGqV1fTly5IiwevVqISwsTLhw4YJw\n8OBBYfDgwUKXLl2ExMRErerLyw4fPiz06tVLkMvlwvfff690rKb359y5c4JcLhd27NghXLt2Tfz6\n66+/tKofCjt37hTeeustYdWqVcLZs2eF06dPC5s3bxZ+/fVXrehLnSws27ZtE2xtbYUHDx6IbQ8f\nPhRsbW2FrVu3Vl8wFfbs2VNmYTlx4oQgl8uF8+fPi23Z2dmCk5OTsGLFCrHtxo0bgo2NjRASEiK2\nFRUVCQMGDBB8fHw0nj8tLa1UW0hIiCCXy4U//vhDEATt6UtZ7ty5I9jY2Ih/d7SxLxkZGUKvXr2E\no0ePCjY2NkqFRRv6oygsZ8+eVXmONvRDEAQhPj5e6NSpkxAcHKzynJrelzp5Kay2LLUfGRkJCwsL\nODo6im0mJibo27evUj8iIiKgr6+PgQMHim26uroYPHgwTp8+jcLCQo3mbNiwYam2d955B4IgIDk5\nGYD29KUsikVQ9fRKnjc+efKk1vXl66+/ho2NDQYNGlTqmLb82QgV3OCqLf3Yt28fdHR0MGrUKJXn\n1CTGJgQAAApnSURBVPS+1MnCUluW2i+vH0lJScjNzQUAxMXFoVWrVjA0NCx1XmFhIR48eFAleV90\n/vx5yGQyWFlZAdC+vhQXF6OwsBD37t3DkiVLYGFhIf5QjouL06q+XLx4EYcOHcLixYvLPK5NfzZ+\nfn6wtbVFt27dMGfOHKV5U23px+XLl9GuXTscPXoU/fr1w1tvvYX+/fvj559/1pq+aP2SLq+itiy1\nn5GRIS5j8yJF37KysmBsbIzMzMwy+9ugQQPxfapScnIy1q5di549e8LW1lbMoE19GTFiBKKjowGU\nLG2xbds2NGrUSMygLX0pLCzE0qVLMXHiRJVLdGhDf0xNTfHxxx/DyckJJiYmiImJwYYNGzB69GiE\nhISgUaNGWtEPAHj8+DEeP36MNWvWYPbs2WjdujWOHz+O5cuXo7i4GN7e3jW+L3WysFD1efbsGXx8\nfKCvr4+vvvqquuO8sjVr1iAnJwfx8fEICgrCP/7xD+zcuVPrVnvYvHkz8vPzMWXKlOqO8lo6duyI\njh07it937doVXbt2xYgRI7Bjxw7MmDGjGtNVTnFxMZ49e4aAgAC8++67AIBu3bohPj4eGzduhLe3\ndzUnrFidvBT2ukvt1xTl9QOA2BczM7Myz1P8a0XxrxdNy8/Px+TJk5GQkICgoCA0a9ZMPKZtfWnX\nrh06deqEQYMGYdu2bXj27Bk2bdoEQHv6kpSUhI0bN2LmzJnIz89Hdna2OGIvKChAdnY2iouLtaY/\nL7O1tUXbtm1x/fp1ANrz56KYk+zZs6dSe69evZCamoonT57U+L7UycLyukvt1xSq+hEXFwdLS0tx\nAU4rKyvEx8cjPz9f6bzY2Fjo6+ujTZs2Gs9aVFSE6dOnIyYmBps3bxbnVhS0qS8vMzU1RZs2bcTr\n1drSl4cPH6KgoAB+fn5wdHSEo6MjnJycIJPJEBQUBCcnJ/z9999a05+KaEs/Xv5/Q9U5NbkvdbKw\nuLm54dq1a4iPjxfbFEvtu7u7V2OyynFzc0NycrLSw045OTk4efKkUj/c3NxQWFiI0NBQse358+cI\nDQ2Fs7Mz9PX1NZpTEATMmTMH58+fR2BgIDp16qS1fSnLkydPcOfOHfF/Um3pi62tLYKDgxEcHIzt\n27eLX4IgYOjQodi+fTveeOMNrenPy/7880/cvXsX9vb2Yj5t6Ee/fv0AlDyM+6JTp06hefPmaNKk\nSY3vi+7SpUuXauSdazAbGxscO3YMYWFhsLCwwN27d7FkyRIYGxtjxYoV1fLDqSxhYWGIi4vDpUuX\n8Ndff6Ft27ZITExEeno6WrZsif9r795Dmvr/OI4/j9kQXWo0V6CS2W2VQgVmdpEYSYgEoSUkZBcx\nCy0IkiyhrNCQJBVEyfqji6ldwC7IUgQRTEmLQOniH5YWlc78wy3ZWNr5/hGOxOL3x2+bie8HDDzu\n7PB5ifrmnM85n/eSJUtobW2lrq4OvV7PwMAAFy5cYHh4mMuXL6PVagEICgri/fv3VFdXExgYiMVi\noaioiO7uboqKitDpdG7NkZeXx6NHj0hPT2fZsmUMDg46X4qioNVqZ0yWrKws+vr6sFgsDA0N0dra\nyrlz53A4HBQUFBAYGDhjsmg0GoKDg6e8ysrKMBqNJCYmMnfu3BmRJzs7m56eHqxWK2azmcbGRvLy\n8pg/fz75+fn4+PjMiBwAYWFhdHZ28uDBA7RaLSMjI1RWVtLY2Ehubi4Gg+GfzzJrVzeeCUvtGwwG\nFEWZ8v2oqChu3boF/Lr7o7CwkKamJhwOB+vWrSMnJ4cVK1ZM+ozD4aC4uJgnT55gtVoxGAxkZ2d7\npMmZ0Wj863I5mZmZZGVlzZgs169fx2Qy8enTJ378+MGiRYuIjo7m8OHDk353ZkKWv1m1ahVHjx6d\nNOH9r+eprKykvr6eL1++YLPZCAoKIjY2lmPHjk365/mv55gwOjrKlStXaGhoYGRkhPDwcDIyMiY9\nZ/QvZ5m1hUUIIYR7zMo5FiGEEO4jhUUIIYRLSWERQgjhUlJYhBBCuJQUFiGEEC4lhUUIIYRLSWER\nQgjhUrK6sRAuUlZWRllZmXPb29sbX19f9Ho9kZGR7Nmzh/Xr10/jCIXwDDljEcLFFEVBURTGx8ex\nWq309vZSV1dHSkoK+fn50z08IdxOCosQbpCZmcnbt29pbW3l/Pnz+Pv7oygKVVVVlJeXT/fwhHAr\nKSxCuNGCBQtITk6moKDA2ZP92rVrWCwWvn79yokTJ4iPj2fDhg1ERESwceNG0tLSaGtrcx7j5s2b\nGAwGDAbDpFVqAY4fP47BYCAiIoLBwUEA7t27R1JSEtHR0URGRhIbG8uhQ4d4+PCh54KLWU0KixAe\nsH37dsLCwlBVFbvdTnt7O2azGZPJRF9fH1arlfHxcUZGRnj27Bnp6el0dHQAkJSUhJ+fH4qiUFtb\n6zzm6OgoLS0tKIrCli1bWLhwISaTibNnz/LmzRssFgtjY2MMDQ3R3t5Oc3PzdMUXs4wUFiE8JDw8\n3Pn158+fCQ4OpqKigpaWFrq6unj16hUVFRXAr/a0EytYa7VakpKSUFWVjo4O+vr6AGhqanI2cEpO\nTgbg5cuXAPj6+vL06VO6u7tpbm6mpKSErVu3eiqqmOXkrjAhPOTnz5+TtgMCAnj37h2lpaX09/dj\ns9mc76mqyocPH5zb+/bto6qqClVVqa2tJScnh/r6egB0Oh3btm0DICQkBACbzUZ5eTlr1qxh6dKl\nbN682dmjQwh3kzMWITzk90IREhLCxYsXKS0tpaenB7vd7rybbKIHj91ud+4fGhqK0WhEVVXq6uoY\nHBykra0NRVFITEzEy+vXn3JKSgrx8fF4eXnx+PFjLl26RFpaGps2baKystKzgcWsJYVFCA9oaGig\nv78fAB8fH2JiYjCZTCiKgkaj4e7du7x+/ZoXL16gquofG7zt378f+NXg6eTJk4yNjaEoCrt373bu\no9FoKC4u5vnz51RXV1NQUMDatWtxOByUlJRgNps9E1jMalJYhHCj4eFhampqyM3NBX4945KRkcG8\nefOYM2cOqqri5eWFVqtldHSUwsLCvx4rKiqK1atXo6oqnZ2dKIpCVFQUoaGhzn0aGxu5c+cOAwMD\nrFy5kh07djg7CqqqysDAgHsDC4HMsQjhcqqqTnkKf+ISV2pqKkeOHAEgLi6O+/fvY7PZnC1nw8LC\nnMf4k9TUVHJycpxnNBOT9hN6e3spLS2d8jlFUdDr9RgMhv87nxD/i5yxCOFCv8+TeHt7ExAQwPLl\ny9m1axc1NTWcPn3aue+ZM2fYu3cvOp0OX19fjEYjN27cmDLX8ruEhAR0Oh2qquLv709cXNyk92Ni\nYti5cyeLFy/Gz88Pb29v9Ho9CQkJ3L59G41G4/afgRDS816IGeTbt2/Ex8fz/ft3Dhw4wKlTp6Z7\nSEJMIZfChJgBurq6yM7Oxmw2Y7PZ0Gq1HDx4cLqHJcQfyaUwIWYAu93Ox48fGR8fJyIigqtXr6LX\n66d7WEL8kVwKE0II4VJyxiKEEMKlpLAIIYRwKSksQgghXEoKixBCCJeSwiKEEMKl/gNnpBBx8twI\nzgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7bec49490>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_hyper_label_printer(\n",
    "cohort.plot_survival(on={\"TIL Proportion\": tcell_fraction}, how=\"pfs\"),\n",
    "    label=\"til_proportion_curves_pfs\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def below_tcf_median(row):\n",
    "    return row[\"T-cell fraction\"] < df[\"T-cell fraction\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def below_clonality_median(row):\n",
    "    return row[\"Clonality\"] < df[\"Clonality\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def clonality_median(row):\n",
    "    return df[\"Clonality\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def tcell_fraction_median(row):\n",
    "    return df[\"T-cell fraction\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def below_either_median(row):\n",
    "    either = ((row[\"Clonality\"] < df[\"Clonality\"].median()) or \n",
    "              (row[\"T-cell fraction\"] < df[\"T-cell fraction\"].median()))\n",
    "    return either"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n"
     ]
    }
   ],
   "source": [
    "df_below_medians = cohort.as_dataframe(on=[clonality_median, tcell_fraction_median])[[\"patient_id\", \"benefit\", \"Clonality\", \"clonality_median\", \"T-cell fraction\", \"tcell_fraction_median\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df_below_medians[\"below_tcf\"] = df_below_medians.apply(lambda row: row[\"T-cell fraction\"] < row[\"tcell_fraction_median\"], axis=1)\n",
    "df_below_medians[\"below_clonality\"] = df_below_medians.apply(lambda row: row[\"Clonality\"] < row[\"clonality_median\"], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>patient_id</th>\n",
       "      <th>benefit</th>\n",
       "      <th>Clonality</th>\n",
       "      <th>clonality_median</th>\n",
       "      <th>T-cell fraction</th>\n",
       "      <th>tcell_fraction_median</th>\n",
       "      <th>below_tcf</th>\n",
       "      <th>below_clonality</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0040</td>\n",
       "      <td>False</td>\n",
       "      <td>0.063967</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0128</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0471</td>\n",
       "      <td>False</td>\n",
       "      <td>0.115946</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0666</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1233</td>\n",
       "      <td>True</td>\n",
       "      <td>0.128326</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.2171</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1249</td>\n",
       "      <td>False</td>\n",
       "      <td>0.221381</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0363</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1849</td>\n",
       "      <td>True</td>\n",
       "      <td>0.339484</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.2283</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1994</td>\n",
       "      <td>False</td>\n",
       "      <td>0.093285</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1131</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2131</td>\n",
       "      <td>True</td>\n",
       "      <td>0.110512</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.2009</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2278</td>\n",
       "      <td>True</td>\n",
       "      <td>0.046536</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0486</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2389</td>\n",
       "      <td>True</td>\n",
       "      <td>0.140133</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.3340</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2849</td>\n",
       "      <td>False</td>\n",
       "      <td>0.085056</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0283</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2937</td>\n",
       "      <td>False</td>\n",
       "      <td>0.107643</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.2400</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>3529</td>\n",
       "      <td>False</td>\n",
       "      <td>0.093133</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1330</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4072</td>\n",
       "      <td>False</td>\n",
       "      <td>0.032501</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0588</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>5037</td>\n",
       "      <td>True</td>\n",
       "      <td>0.152012</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1017</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>5122</td>\n",
       "      <td>True</td>\n",
       "      <td>0.082352</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0548</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>5338</td>\n",
       "      <td>False</td>\n",
       "      <td>0.071801</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0615</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>6229</td>\n",
       "      <td>True</td>\n",
       "      <td>0.098977</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.2262</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6428</td>\n",
       "      <td>False</td>\n",
       "      <td>0.110947</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0710</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>7577</td>\n",
       "      <td>False</td>\n",
       "      <td>0.108238</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1912</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>7729</td>\n",
       "      <td>False</td>\n",
       "      <td>0.080314</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1256</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>8728</td>\n",
       "      <td>False</td>\n",
       "      <td>0.100307</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1009</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>9517</td>\n",
       "      <td>False</td>\n",
       "      <td>0.090223</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0098</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9723</td>\n",
       "      <td>False</td>\n",
       "      <td>0.078281</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0940</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>9881</td>\n",
       "      <td>False</td>\n",
       "      <td>0.070117</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0288</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   patient_id benefit  Clonality  clonality_median  T-cell fraction  \\\n",
       "0        0040   False   0.063967          0.096131           0.0128   \n",
       "1        0471   False   0.115946          0.096131           0.0666   \n",
       "2        1233    True   0.128326          0.096131           0.2171   \n",
       "3        1249   False   0.221381          0.096131           0.0363   \n",
       "4        1849    True   0.339484          0.096131           0.2283   \n",
       "5        1994   False   0.093285          0.096131           0.1131   \n",
       "6        2131    True   0.110512          0.096131           0.2009   \n",
       "7        2278    True   0.046536          0.096131           0.0486   \n",
       "8        2389    True   0.140133          0.096131           0.3340   \n",
       "9        2849   False   0.085056          0.096131           0.0283   \n",
       "10       2937   False   0.107643          0.096131           0.2400   \n",
       "11       3529   False   0.093133          0.096131           0.1330   \n",
       "12       4072   False   0.032501          0.096131           0.0588   \n",
       "13       5037    True   0.152012          0.096131           0.1017   \n",
       "14       5122    True   0.082352          0.096131           0.0548   \n",
       "15       5338   False   0.071801          0.096131           0.0615   \n",
       "16       6229    True   0.098977          0.096131           0.2262   \n",
       "17       6428   False   0.110947          0.096131           0.0710   \n",
       "18       7577   False   0.108238          0.096131           0.1912   \n",
       "19       7729   False   0.080314          0.096131           0.1256   \n",
       "20       8728   False   0.100307          0.096131           0.1009   \n",
       "21       9517   False   0.090223          0.096131           0.0098   \n",
       "22       9723   False   0.078281          0.096131           0.0940   \n",
       "23       9881   False   0.070117          0.096131           0.0288   \n",
       "\n",
       "    tcell_fraction_median below_tcf below_clonality  \n",
       "0                 0.09745      True            True  \n",
       "1                 0.09745      True           False  \n",
       "2                 0.09745     False           False  \n",
       "3                 0.09745      True           False  \n",
       "4                 0.09745     False           False  \n",
       "5                 0.09745     False            True  \n",
       "6                 0.09745     False           False  \n",
       "7                 0.09745      True            True  \n",
       "8                 0.09745     False           False  \n",
       "9                 0.09745      True            True  \n",
       "10                0.09745     False           False  \n",
       "11                0.09745     False            True  \n",
       "12                0.09745      True            True  \n",
       "13                0.09745     False           False  \n",
       "14                0.09745      True            True  \n",
       "15                0.09745      True            True  \n",
       "16                0.09745     False           False  \n",
       "17                0.09745      True           False  \n",
       "18                0.09745     False           False  \n",
       "19                0.09745     False            True  \n",
       "20                0.09745     False           False  \n",
       "21                0.09745      True            True  \n",
       "22                0.09745      True            True  \n",
       "23                0.09745      True            True  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>patient_id</th>\n",
       "      <th>benefit</th>\n",
       "      <th>Clonality</th>\n",
       "      <th>clonality_median</th>\n",
       "      <th>T-cell fraction</th>\n",
       "      <th>tcell_fraction_median</th>\n",
       "      <th>below_tcf</th>\n",
       "      <th>below_clonality</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0040</td>\n",
       "      <td>False</td>\n",
       "      <td>0.063967</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0128</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0471</td>\n",
       "      <td>False</td>\n",
       "      <td>0.115946</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0666</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1249</td>\n",
       "      <td>False</td>\n",
       "      <td>0.221381</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0363</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1994</td>\n",
       "      <td>False</td>\n",
       "      <td>0.093285</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1131</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2849</td>\n",
       "      <td>False</td>\n",
       "      <td>0.085056</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0283</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2937</td>\n",
       "      <td>False</td>\n",
       "      <td>0.107643</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.2400</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>3529</td>\n",
       "      <td>False</td>\n",
       "      <td>0.093133</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1330</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4072</td>\n",
       "      <td>False</td>\n",
       "      <td>0.032501</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0588</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>5338</td>\n",
       "      <td>False</td>\n",
       "      <td>0.071801</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0615</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6428</td>\n",
       "      <td>False</td>\n",
       "      <td>0.110947</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0710</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>7577</td>\n",
       "      <td>False</td>\n",
       "      <td>0.108238</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1912</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>7729</td>\n",
       "      <td>False</td>\n",
       "      <td>0.080314</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1256</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>8728</td>\n",
       "      <td>False</td>\n",
       "      <td>0.100307</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.1009</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>9517</td>\n",
       "      <td>False</td>\n",
       "      <td>0.090223</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0098</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9723</td>\n",
       "      <td>False</td>\n",
       "      <td>0.078281</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0940</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>9881</td>\n",
       "      <td>False</td>\n",
       "      <td>0.070117</td>\n",
       "      <td>0.096131</td>\n",
       "      <td>0.0288</td>\n",
       "      <td>0.09745</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   patient_id benefit  Clonality  clonality_median  T-cell fraction  \\\n",
       "0        0040   False   0.063967          0.096131           0.0128   \n",
       "1        0471   False   0.115946          0.096131           0.0666   \n",
       "3        1249   False   0.221381          0.096131           0.0363   \n",
       "5        1994   False   0.093285          0.096131           0.1131   \n",
       "9        2849   False   0.085056          0.096131           0.0283   \n",
       "10       2937   False   0.107643          0.096131           0.2400   \n",
       "11       3529   False   0.093133          0.096131           0.1330   \n",
       "12       4072   False   0.032501          0.096131           0.0588   \n",
       "15       5338   False   0.071801          0.096131           0.0615   \n",
       "17       6428   False   0.110947          0.096131           0.0710   \n",
       "18       7577   False   0.108238          0.096131           0.1912   \n",
       "19       7729   False   0.080314          0.096131           0.1256   \n",
       "20       8728   False   0.100307          0.096131           0.1009   \n",
       "21       9517   False   0.090223          0.096131           0.0098   \n",
       "22       9723   False   0.078281          0.096131           0.0940   \n",
       "23       9881   False   0.070117          0.096131           0.0288   \n",
       "\n",
       "    tcell_fraction_median below_tcf below_clonality  \n",
       "0                 0.09745      True            True  \n",
       "1                 0.09745      True           False  \n",
       "3                 0.09745      True           False  \n",
       "5                 0.09745     False            True  \n",
       "9                 0.09745      True            True  \n",
       "10                0.09745     False           False  \n",
       "11                0.09745     False            True  \n",
       "12                0.09745      True            True  \n",
       "15                0.09745      True            True  \n",
       "17                0.09745      True           False  \n",
       "18                0.09745     False           False  \n",
       "19                0.09745     False            True  \n",
       "20                0.09745     False           False  \n",
       "21                0.09745      True            True  \n",
       "22                0.09745      True            True  \n",
       "23                0.09745      True            True  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[~df_below_medians.benefit]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[df_below_medians.benefit].below_tcf.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[df_below_medians.benefit].below_clonality.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[~df_below_medians.benefit].below_tcf.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[~df_below_medians.benefit].below_clonality.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[df_below_medians.benefit].below_tcf.apply(lambda x: 1 if x == 0 else 0).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2     False\n",
       "4     False\n",
       "6     False\n",
       "7      True\n",
       "8     False\n",
       "13    False\n",
       "14     True\n",
       "16    False\n",
       "Name: below_tcf, dtype: bool"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[df_below_medians.benefit].below_tcf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2     False\n",
       "4     False\n",
       "6     False\n",
       "7      True\n",
       "8     False\n",
       "13    False\n",
       "14     True\n",
       "16    False\n",
       "Name: below_clonality, dtype: bool"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[df_below_medians.benefit].below_clonality"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[df_below_medians.benefit].below_clonality.apply(lambda x: 1 if x == 0 else 0).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      True\n",
       "1      True\n",
       "3      True\n",
       "5     False\n",
       "9      True\n",
       "10    False\n",
       "11    False\n",
       "12     True\n",
       "15     True\n",
       "17     True\n",
       "18    False\n",
       "19    False\n",
       "20    False\n",
       "21     True\n",
       "22     True\n",
       "23     True\n",
       "Name: below_tcf, dtype: bool"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[~df_below_medians.benefit].below_tcf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      True\n",
       "1     False\n",
       "3     False\n",
       "5      True\n",
       "9      True\n",
       "10    False\n",
       "11     True\n",
       "12     True\n",
       "15     True\n",
       "17    False\n",
       "18    False\n",
       "19     True\n",
       "20    False\n",
       "21     True\n",
       "22     True\n",
       "23     True\n",
       "Name: below_clonality, dtype: bool"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_below_medians[~df_below_medians.benefit].below_clonality"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "< Median TIL Proportion  False  True \n",
      "Response                             \n",
      "DCB                          6      2\n",
      "No DCB                       6     10\n",
      "Fisher's Exact Test: OR: 5.0, p-value=0.193027325347 (two-sided)\n",
      "{{{below_median_til_fraction_dcb_plot}}}\n",
      "{{{below_median_til_fraction_dcb_benefit:25%}}}\n",
      "{{{below_median_til_fraction_dcb_no_benefit:63%}}}\n",
      "{{{below_median_til_fraction_dcb_fishers:n=24, Fisher's Exact p=0.19}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7bee2cdd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fishers_exact_hyper_label_printer(cohort.plot_benefit({\"< Median TIL Proportion\": below_tcf_median}),\n",
    "                                 label=\"below_median_til_fraction_dcb\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "< Median TIL Clonality  False  True \n",
      "Response                            \n",
      "DCB                         6      2\n",
      "No DCB                      6     10\n",
      "Fisher's Exact Test: OR: 5.0, p-value=0.193027325347 (two-sided)\n",
      "{{{below_median_til_clonality_dcb_plot}}}\n",
      "{{{below_median_til_clonality_dcb_benefit:25%}}}\n",
      "{{{below_median_til_clonality_dcb_no_benefit:63%}}}\n",
      "{{{below_median_til_clonality_dcb_fishers:n=24, Fisher's Exact p=0.19}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n/wc+5nDx1b1Y6QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7bec53390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fishers_exact_hyper_label_printer(cohort.plot_benefit({\"< Median TIL Clonality\": below_clonality_median}),\n",
    "                                  label=\"below_median_til_clonality_dcb\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{below_median_til_clonality_fraction_two_panel_dcb_plot}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "< Median TIL Clonality  False  True \n",
      "Response                            \n",
      "DCB                         6      2\n",
      "No DCB                      6     10\n",
      "Fisher's Exact Test: OR: 5.0, p-value=0.193027325347 (two-sided)\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "< Median TIL Proportion  False  True \n",
      "Response                             \n",
      "DCB                          6      2\n",
      "No DCB                       6     10\n",
      "Fisher's Exact Test: OR: 5.0, p-value=0.193027325347 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "FishersExactResults(oddsratio=5.0, p_value=0.193027325347, sided_str='two-sided')"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7acdf69d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axarr = plt.subplots(2, 1)\n",
    "fig.set_size_inches(2500 / 400, 5000 / 400)\n",
    "hyper_figure_label_printer(\"below_median_til_clonality_fraction_two_panel_dcb_plot\")\n",
    "cohort.plot_benefit({\"< Median TIL Clonality\": below_clonality_median}, ax=axarr[0])\n",
    "cohort.plot_benefit({\"< Median TIL Proportion\": below_tcf_median}, ax=axarr[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "< Median TIL Proportion or Clonality  False  True \n",
      "Response                                          \n",
      "DCB                                       6      2\n",
      "No DCB                                    3     13\n",
      "Fisher's Exact Test: OR: 13.0, p-value=0.0214882707816 (two-sided)\n",
      "{{{below_median_til_fraction_clonality_dcb_plot}}}\n",
      "{{{below_median_til_fraction_clonality_dcb_benefit:25%}}}\n",
      "{{{below_median_til_fraction_clonality_dcb_no_benefit:81%}}}\n",
      "{{{below_median_til_fraction_clonality_dcb_fishers:n=24, Fisher's Exact p=0.021}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7acd52910>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fishers_exact_hyper_label_printer(cohort.plot_benefit({\"< Median TIL Proportion or Clonality\": below_either_median}),\n",
    "                                  label=\"below_median_til_fraction_clonality_dcb\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def crpr(row):\n",
    "    best_response = row[\"Best Response RECIST 1.1\"].strip().lower()\n",
    "    if best_response in [\"cr\", \"pr\"]:\n",
    "        return True\n",
    "    if best_response in [\"pd\"] or \"baseline\" in best_response:\n",
    "        return False\n",
    "    return np.nan"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "Missing crpr for 4 patients: from 24 to 20\n",
      "Mann-Whitney test: U=70.0, p-value=0.0571934817481 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "MannWhitneyResults(U=70.0, p_value=0.0571934817481, sided_str='two-sided')"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fd7acd32c90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cohort.plot_boolean(on=[tcell_fraction, crpr], plot_col=\"tcell_fraction\", boolean_col=\"crpr\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Adapted from statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLSResults.html compare_lr\n",
    "def compare_lr(model, other_model):\n",
    "    from scipy import stats\n",
    "    ll_model = model.llf\n",
    "    ll_other_model = other_model.llf\n",
    "    df_model = model.df_resid\n",
    "    df_other_model = other_model.df_resid\n",
    "\n",
    "    lrdf = (df_other_model - df_model)\n",
    "    lrstat = -2*(ll_other_model - ll_model)\n",
    "    lr_pvalue = stats.chi2.sf(lrstat, lrdf)\n",
    "    return lrstat, lr_pvalue, lrdf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import statsmodels.api as sm\n",
    "from statsmodels.formula.api import logit, probit, poisson, ols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df[\"benefit\"] = df[\"benefit\"].apply(lambda b: 1 if b else 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 0.636514\n",
      "         Iterations 4\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.507964\n",
      "         Iterations 6\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.582929\n",
      "         Iterations 5\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.412002\n",
      "         Iterations 9\n"
     ]
    }
   ],
   "source": [
    "null_model = logit(\"benefit ~ 1\", df).fit()\n",
    "model_tcf = logit(\"benefit ~ log_tcell_fraction_rescaled\", df).fit()\n",
    "model_clonality = logit(\"benefit ~ log_clonality_rescaled\", df).fit()\n",
    "model_tcf_clonality = logit(\"benefit ~ log_clonality_rescaled * log_tcell_fraction_rescaled\", df).fit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from utils.paper import float_str"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def llr_formatter(results):\n",
    "    return \"n=%d, log-likelihood p=%s\" % (len(cohort.as_dataframe()), float_str(results[1]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "{{{llr_tcf_null:n=24, log-likelihood p=0.013}}}\n"
     ]
    }
   ],
   "source": [
    "hyper_label_printer(llr_formatter, label=\"llr_tcf_null\", results=(compare_lr(model_tcf, null_model)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "{{{llr_clonality_null:n=24, log-likelihood p=0.013}}}\n"
     ]
    }
   ],
   "source": [
    "hyper_label_printer(llr_formatter, label=\"llr_clonality_null\", results=(compare_lr(model_tcf, null_model)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "{{{llr_tcf_clonality_tcf:n=24, log-likelihood p=0.100}}}\n"
     ]
    }
   ],
   "source": [
    "hyper_label_printer(llr_formatter, label=\"llr_tcf_clonality_tcf\", results=(compare_lr(model_tcf_clonality, model_tcf)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "{{{llr_tcf_clonality_clonality:n=24, log-likelihood p=0.017}}}\n"
     ]
    }
   ],
   "source": [
    "hyper_label_printer(llr_formatter, label=\"llr_tcf_clonality_clonality\", results=(compare_lr(model_tcf_clonality, model_clonality)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  },
  "name": "TCR Clonality.ipynb"
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
